package bindlogs

import "yundian/internel/pkg/dingo"

// LoginLogsModel 后台登录日志表
type BindLogsModel struct {
	Id         int        `gorm:"column:id" json:"id"`
	UserId     int        `gorm:"column:user_id" json:"userId"`       // 登录用户ID
	Phone      string     `gorm:"column:phone" json:"phone"`

	Openid     string     `gorm:"column:openid" json:"openid"`
	Unionid    string     `gorm:"column:unionid" json:"unionid"`

	ClientIp   string      `gorm:"column:client_ip" json:"clientIp"`
	CreateAt   dingo.Time  `gorm:"column:create_at" json:"createAt"`

	NickName    string     `gorm:"column:nick_name" json:"nickName"`
	Appid    string     `gorm:"column:appid" json:"appid"`
	BindDesc    string     `gorm:"column:bind_desc" json:"bindDesc"`
}

type BindLogsList struct {
	BindLogsModel

	UserPhone   string     `gorm:"column:user_phone" json:"userPhone"`
	Name        string     `gorm:"column:name" json:"name"`
	UName       string     `gorm:"column:u_name" json:"uName"`
}

// 初始化模型
func New() *BindLogsModel {
	return &BindLogsModel{}
}

func (model *BindLogsModel) Mutate(attrs ...BindLogsAttr) *BindLogsModel {
	BindLogsAttrs(attrs).Apply(model)
	return model
}

// 获取表名
func (model *BindLogsModel) GetTableName() string {
	return "bind_logs"
}
